home *** CD-ROM | disk | FTP | other *** search
/ Java Primer Plus / Java Primer Plus (Waite Group Proess)(1996).iso / java_Win / demo / DrawTest / DrawControls.class (.txt) next >
Encoding:
Java Class File  |  1995-10-12  |  2.4 KB  |  64 lines

  1. import java.awt.Checkbox;
  2. import java.awt.CheckboxGroup;
  3. import java.awt.Choice;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.FlowLayout;
  9. import java.awt.Graphics;
  10. import java.awt.Panel;
  11. import java.awt.Rectangle;
  12.  
  13. class DrawControls extends Panel {
  14.    DrawPanel target;
  15.  
  16.    public DrawControls(DrawPanel target) {
  17.       this.target = target;
  18.       ((Container)this).setLayout(new FlowLayout());
  19.       ((Component)this).setBackground(Color.lightGray);
  20.       ((Component)target).setForeground(Color.red);
  21.       CheckboxGroup group = new CheckboxGroup();
  22.       Checkbox b;
  23.       ((Container)this).add(b = new Checkbox((String)null, group, false));
  24.       ((Component)b).setBackground(Color.red);
  25.       ((Container)this).add(b = new Checkbox((String)null, group, false));
  26.       ((Component)b).setBackground(Color.green);
  27.       ((Container)this).add(b = new Checkbox((String)null, group, false));
  28.       ((Component)b).setBackground(Color.blue);
  29.       ((Container)this).add(b = new Checkbox((String)null, group, false));
  30.       ((Component)b).setBackground(Color.pink);
  31.       ((Container)this).add(b = new Checkbox((String)null, group, false));
  32.       ((Component)b).setBackground(Color.orange);
  33.       ((Container)this).add(b = new Checkbox((String)null, group, true));
  34.       ((Component)b).setBackground(Color.black);
  35.       ((Component)target).setForeground(((Component)b).getForeground());
  36.       Choice shapes = new Choice();
  37.       shapes.addItem("Lines");
  38.       shapes.addItem("Points");
  39.       ((Component)shapes).setBackground(Color.lightGray);
  40.       ((Container)this).add(shapes);
  41.    }
  42.  
  43.    public void paint(Graphics g) {
  44.       Rectangle r = ((Component)this).bounds();
  45.       g.setColor(Color.lightGray);
  46.       g.draw3DRect(0, 0, r.width, r.height, false);
  47.    }
  48.  
  49.    public boolean action(Event e, Object arg) {
  50.       if (e.target instanceof Checkbox) {
  51.          this.target.setForeground(((Component)e.target).getBackground());
  52.       } else if (e.target instanceof Choice) {
  53.          String choice = (String)arg;
  54.          if (choice.equals("Lines")) {
  55.             this.target.setDrawMode(0);
  56.          } else if (choice.equals("Points")) {
  57.             this.target.setDrawMode(1);
  58.          }
  59.       }
  60.  
  61.       return true;
  62.    }
  63. }
  64.